home *** CD-ROM | disk | FTP | other *** search
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- sound_playMusic("music/rybky01.ogg")
- local pokus = getRestartCount()
-
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- room.uvod = 0
- room.zatrpocitadlo = 1000 + random(4000)
- room.zavazi = 0
- room.klauspocitadlo = 500 + random(1500)
- room.stolecky = 0
- room.prycpocitadlo = 500 + random(1500)
- room.hrncisko = 0
- room.kresilko = 0
- room.ss = 0
- room.osam = 0
- local roompole = createArray(4)
- if roompole[3] == 2 then
- roompole[3] = 1
- end
- room.stoji = 0
- room.uprava = 0
-
- return function()
- if no_dialog() and isReady(small) and isReady(big) then
- if room.zatrpocitadlo > 0 then
- room.zatrpocitadlo = room.zatrpocitadlo - 1
- end
- if room.klauspocitadlo > 0 then
- room.klauspocitadlo = room.klauspocitadlo - 1
- end
- if room.prycpocitadlo > 0 then
- room.prycpocitadlo = room.prycpocitadlo - 1
- end
- if room.uvod == 0 then
- room.uvod = 1
- pom1 = random(20)
- if pokus == 1 then
- pom1 = 3
- end
- if 0 <= pom1 and pom1 <= 5 then
- addm(9 + random(35), "kuch-m-objev0")
- elseif 6 <= pom1 and pom1 <= 9 then
- addm(9 + random(35), "kuch-m-objev1")
- elseif 10 <= pom1 and pom1 <= 17 then
- addm(9 + random(42), "kuch-m-objev3")
- if random(100) > pokus * 8 or random(100) < 30 then
- addv(12, "kuch-v-varil")
- addv(7, "kuch-v-problem")
- addm(14, "kuch-m-noproblem")
- addv(5, "kuch-v-podivej")
- end
- elseif pom1 == 18 then
- addm(9 + random(35), "kuch-m-objev2")
- room.zatrpocitadlo = -1
- end
- elseif room.uvod == 1 and room.stolecky == 0 and big.pryc == 0 and random(70) == 1 then
- room.stolecky = 1
- if random(40 * pokus) < 50 then
- addv(9 + random(100), "kuch-v-stolky0")
- end
- elseif room.zatrpocitadlo == 0 then
- room.zatrpocitadlo = -1
- addm(9, "kuch-m-objev2")
- elseif room.zavazi == 0 and zavazedlo2.X == 39 and zavazedlo2.Y == 9 and random(10 * pokus) == 1 then
- room.zavazi = 1
- if pokus < 5 or random(100) < 40 then
- addv(9, "kuch-v-stolky1")
- if random(100) < 40 and room.zatrpocitadlo > -1 then
- room.zatrpocitadlo = -1
- addm(9, "kuch-m-objev2")
- end
- end
- elseif room.klauspocitadlo == 0 and big.pryc == 0 then
- room.klauspocitadlo = 2000 + random(10000)
- if pokus < 6 or random(100) < 50 then
- addv(9, "kuch-v-stolky2")
- end
- elseif room.prycpocitadlo == 0 and big.pryc == 0 then
- room.prycpocitadlo = -1
- if pokus < 10 or random(100) < 50 then
- if random(100) < 70 then
- addv(9, "kuch-v-odsud0")
- if random(100) < 30 then
- addv(9, "kuch-v-odsud1")
- end
- if random(100) < 25 then
- addm(9, "kuch-m-premyslim0")
- end
- else
- addv(9, "kuch-v-odsud1")
- end
- if random(100) < 90 or pokus == 1 then
- if small.dir ~= dir_no and random(100) < 50 then
- addm(6, "kuch-m-premyslim2")
- elseif random(100) < 45 then
- addm(9, "kuch-m-premyslim0")
- else
- addm(16, "kuch-m-premyslim1")
- end
- end
- end
- elseif room.hrncisko == 0 and dist(spindira, small) < 2 and random(100) < 10 then
- room.hrncisko = 1
- if pokus < 6 or random(100) < 50 then
- switch(random(3)){
- [0] = function()
- addm(9, "kuch-m-hrnec0")
- if random(100) < 35 then
- addm(9, "kuch-m-hrnec2")
- end
- end,
- [1] = function()
- addm(9, "kuch-m-hrnec1")
- end,
- [2] = function()
- addm(9, "kuch-m-hrnec2")
- end,
- }
- end
- elseif room.kresilko == 0 and dist(kreslak, big) < 4 and (random(100) < 50 or roompole[1] == 0) then
- room.kresilko = 1
- addv(9, "kuch-v-kreslo0")
- if random(100) < 70 then
- addv(16, "kuch-v-ja")
- end
- if roompole[1] == 0 or random(100) < 70 then
- if random(100) < 50 then
- addm(9, "kuch-m-kreslo0")
- else
- addv(9, "kuch-v-kreslo1")
- if random(100) < 65 then
- addm(7, "kuch-m-kreslo2")
- end
- end
- end
- roompole[1] = 1
- elseif room.ss == 0 and dist(small, stolek) < 2 and random(100) == 1 then
- addm(4, "kuch-m-stolky")
- addv(8, "kuch-v-serie")
- addm(8, "kuch-m-pekne")
- room.ss = 1
- elseif room.osam == 0 and big.dole ~= 0 and random(100) == 1 then
- room.osam = 1
- addv(5, "kuch-v-obavam")
- elseif roompole[3] < 2 and dist(big, mecik) < 3 and random(50) == 1 then
- if roompole[3] == 0 or random(2) == 1 then
- roompole[3] = 2
- addv(5, "kuch-v-mec")
- addm(8, "kuch-m-porcovani")
- addv(7, "kuch-v-nedela")
- end
- elseif room.uprava == 0 and papir.dir ~= dir_no and random(14) == 1 then
- room.uprava = 1
- addv(7, "kuch-v-svitek"..random(2))
- if random(2) == 1 then
- addm(8, "kuch-m-recept")
- else
- addm(8, "kuch-m-kuchari")
- end
- elseif room.stoji > 1000 + 2000 * roompole[2] and big.pryc == 1 then
- room.stoji = 0
- addm(16, "kuch-m-zapeklite")
- roompole[2] = roompole[2] + 1
- end
- end
- room.stoji = room.stoji + 1
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_big()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- big.pryc = 0
- big.dole = 0
-
- return function()
- if big.X < 32 or big.Y > 13 then
- big.pryc = 1
- room.zavazi = 1
- end
- if big.X > 15 and big.Y > 20 then
- big.dole = 1
- else
- big.dole = 0
- end
- if big.dir ~= dir_no then
- room.stoji = 0
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_small()
- return function()
- if small.dir ~= dir_no then
- room.stoji = 0
- end
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_big()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_small()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-